#pragma once

#include "..\utilities\mathematic.h"
#include "..\common\cylinder.h"

namespace tp1
{

	class Pattern : public Object3D
	{
	public:
		Pattern(float radius,float angle,int qObliqueCylinders,float radiusCylinders,int sidesCylinders);
		virtual ~Pattern();

		void Render();

		float GetAngle();

		float GetRadius();

		void SetRadius(float radius);

		void SetAngle(float angle);

	private:
		float m_radius;
		float m_angle;
		int m_qObliqueCylinders;

		float m_radiusCylinders;
		int m_sidesCylinders;

		float m_coefHeightCyl;
		float m_coefRadiusCyl;

		Cylinder* m_cylinder;
	};

	class TrianglePattern : public Object3D
	{
	public:
		TrianglePattern(float base,float height,int qObliqueCyls,float radiusCylinders,int sidesCylinders);

		virtual ~TrianglePattern();

		void Render();

	private:
		float	m_base;
		float	m_height;

		float	m_radiusCylinders;
		int		m_sidesCylinders;

		Pattern*	m_pattern;
		Cylinder*	m_cylinder;
	};

}
